The present invention relates to motor velocity control in general and, in particular, to apparatus for controlling the velocity of a motor which drives a print font for a typewriter or printer. The print font could be of the type known as a daisy wheel or a thimble or any other type which may use petals. Hereinafter, the term "daisy wheel" will be used to represent all of these types. Typewriters or printers using daisy wheel print fonts must have motors driving the daisy wheels which can cause them to be positioned in at least any one of 96 positions, generally speaking, wherein each of those positions represents one of the petals of the daisy wheel on which a character font is located. Some daisy wheels have 100 petals, others have 88.
In commonly assigned co-pending patent application, Ser. No. 387,501, filed June 11, 1982 and entitled "Typewriter Daisy Wheel" an unusual daisy wheel is disclosed in which the petals are irregularly spaced about the circumference of the daisy wheel and have character heads of varying width to accommodate larger or smaller characters. Although 96 potential positions are provided on the daisy wheel and are equally spaced about the circumference thereof, only certain ones of those positions actually have a petal present and in some cases the centerlines of the petals are moved clockwise or counterclockwise from the normal equally spaced center line to accommodate an adjacent petal having a larger character associated with it. Because these petals are irregularly spaced and may be positioned clockwise or counterclockwise a quarter of a step from their normal positions, the motor driving the daisy wheel must have a capability of stepping the daisy wheel in one-quarter steps, or four times 96, which equals 384 positions about the circumference of the daisy wheel.
This means that the motor must know a reference position and be able to determine how far it has moved from that reference position in order to know how far to move to the next desired position.
Prior art circuits for controlling the velocity of the motor driving the print wheel or daisy wheel utilize an encoder coupled to the shaft of the motor which generates a reference signal representing a home position and one or more sine waves from which the rotational position of the shaft can be determined with respect to home position. Complex circuits are connected to receive the sine waves and utilize integrators and differentiators to constantly monitor the velocity of the motor shaft. When the motor shaft reaches a desired speed or velocity, the circuitry tends to have a feedback circuit which controls the velocity of the motor to maintain it at the desired velocity. Such control circuit, of course, does not take into account the acceleration or deceleration of the motor and operates simply to get the motor up to a desired velocity and maintains it there for a desired period of time and then decelerates it. This means that if the parameters of the motor change or if the motor temperature changes or other like factors change, the speed characteristics and torque characteristics of the motor also change so that it may accelerate faster or slower than normal. This means, then, that since the rotational velocity of the motor shaft is controlled only during the period of time of constant velocity of the motor shaft, that the time required to move from one location to the other varies with the characteristics of the motor, temperature, and the like. Further, the complex circuits for constantly monitoring the velocity and which use differentiators, integrators, operational amplifiers, and the like, make the system more costly and less reliable.
The present invention overcomes the disadvantages of the prior art by providing a motor control circuit which monitors the velocity of the motor shaft during three intervals, first, the accelerating interval, secondly, the constant velocity interval, and third, the decelerating interval. In each case, the monitoring is not continuous, but is based upon incremental movements of the motor shaft. Thus, by knowing the distance between angular position 1 and angular position 2 and knowing the time required for the shaft to move between those two positions, the velocity during that period of time can be calculated. By storing a series of digital data representing the three phases of travel of the motor shaft, that is, during acceleration, constant velocity, and deceleration, the desired velocity curve can be compared at appropriate points to the actual velocity of the shaft during comparable incremental time periods and the motor speed adjusted to maintain it at the desired velocity not only during the constant velocity cycle but also during the accelerating cycle and the decelerating cycle. By utilizing software to calculate the velocity during these time increments, a large number of components such as the differentiators and integrators and operational amplifiers are eliminated which makes the circuit much less expensive and makes it much more reliable and accurate since the motor velocity is caused to follow a desired curve during the acceleration and deceleration periods as well as during the constant velocity period.